The connection between C++ template metaprogramming and functional programming
نویسنده
چکیده
منابع مشابه
Implementing Monads for C + + Template Metaprograms ∗ Technical report TR -
C++ template metaprogramming is used in various application areas, such as expression templates, static interface checking, active libraries, etc. Its recognized similarities to pure functional programming languages – like Haskell – make the adoption of advanced functional techniques possible. Such a technique is using monads, programming structures representing computations. Using them actions...
متن کاملImplementing monads for C++ template metaprograms
C++ template metaprogramming is used in various application areas, such as expression templates, static interface checking, active libraries, etc. Its recognized similarities to pure functional programming languages – like Haskell – make the adoption of advanced functional techniques possible. Such a technique is using monads, programming structures representing computations. Using them actions...
متن کاملFunctional Programming with C++ Template Metaprograms
Template metaprogramming is an emerging new direction of generative programming: with the clever definitions of templates we can enforce the C++ compiler to execute algorithms at compilation time. Among the application areas of template metaprograms are the expression templates, static interface checking, code optimization with adaption, language embedding and active libraries. However, as this...
متن کاملFunctional Extensions to the Boost Metaprogram Library
Boost metaprogram library is one of the most important foundation for C++ template metaprogramming. The library implements commonly used compilation-time algorithms and meta-datastructures in an extendible and reusable way. Despite the well-known commonality of functional programming paradigm, boost mpl lacks a few important features to directly support functional style. In this paper we propos...
متن کاملAn Extension to the Subtype Relationship in C++ Implemented with Template Metaprogramming
Families of independent classes, where each class represents a separate, orthogonal concern are highly attractive for implementing collaboration-based design. However, required subtype relationship between such families cannot be expressed in many programming languages. This paper presents a framework to handle collaborating groups of classes using template metaprogramming based on standard C++...
متن کامل